
package com.ruoyi.busi.guide.mapper;

import com.mybatisflex.core.BaseMapper;
import com.ruoyi.busi.guide.domain.Task;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

/**
 * 导师任务Mapper接口
 */
@Mapper
public interface TaskMapper extends BaseMapper<Task> {
    /**
     * 根据导师ID查询任务
     * @param mentorId 导师ID
     * @return 任务列表
     */
    List<Task> selectByMentorId(Long mentorId);
    
    /**
     * 根据状态查询任务
     * @param status 任务状态
     * @return 任务列表
     */
    List<Task> selectByStatus(String status);
    
    /**
     * 统计导师未完成任务数量
     * @param mentorId 导师ID
     * @param statusList 排除的状态列表
     * @return 未完成任务数量
     */
    int countByMentorIdAndStatusNotIn(@Param("mentorId") Long mentorId, 
                                     @Param("statusList") List<String> statusList);
}
